package com.gecba.system.entity;

import com.gecba.system.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.Entity;
import javax.persistence.Table;

/**
 * @author ChenBo
 * @className sysPermission
 * @date 2021/7/25
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Entity
@Table(name = "sys_permission")
@ApiModel(value = "菜单权限")
@DynamicInsert
@DynamicUpdate
public class SysPermission extends BaseEntity {
    /** 父ID */
    private Long parentId;
    /** 菜单标题(名称) */
    private String name;
    /** 路径  */
    private String url;
    /** 组件 */
    private String component;
    /** 组件名称 */
    private String componentName;
    /** 一级菜单跳转地址 */
    private String redirect;
    /** 菜单类型(0:一级菜单; 1:子菜单:2:按钮权限)  */
    private Integer menuType;
    /** 菜单权限编码 */
    private String perms;
    /** 权限策略1显示2禁用 */
    private Integer permsType;
    /** 菜单排序 */
    private Double sortNo;
    /** 聚合子路由: 1是0否 */
    private Integer alwaysShow;
    /** 菜单图标 */
    private String icon;
    /** 是否路由菜单: 0:不是  1:是（默认值1） */
    private Integer isRoute;
    /** 是否叶子节点:    1:是   0:不是 */
    private Integer isLeaf;
    /** 是否缓存该页面:    1:是   0:不是 */
    private Integer keepAlive;
    /** 是否隐藏路由: 0否,1是  */
    private Integer hidden;
    /** 描述 */
    private String description;
    /** 是否添加数据权限1是0否 */
    private Integer ruleFlag;
    /** 按钮权限状态(0无效1有效) */
    private Integer status;
    /** 外链菜单打开方式 0/内部打开 1/外部打开 */
    private Integer internalOrExternal;
}
